home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / TKXP16 / OEMSETUP.INF < prev    next >
INI File  |  1996-07-31  |  63KB  |  1,829 lines

  1. ;***********************************************************************
  2. ;
  3. ; OEMSETUP.INF
  4. ;
  5. ;       Intel network card and driver SETUP INF file.
  6. ;
  7. ;***********************************************************************
  8.  
  9. ;-----------------------------------------------------------------------
  10. ; OPTION TYPE
  11. ; -----------
  12. ; This identifies the Option type we are dealing with.  The different
  13. ; possible types are:
  14. ;
  15. ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  16. ;
  17. ;  Types specific to networking:
  18. ;
  19. ; NetAdapter,        a netcard / adapter combination or just a netcard
  20. ; NetDriver,         just a netcard driver
  21. ; NetTransport,      a complete NDIS-compliant TDI transport stack
  22. ; NetService,        an NT networking service
  23. ; NetWork,           a complete network ensemble.
  24. ; NetProvider        a complete network which supports NT MPR protocol
  25. ;-----------------------------------------------------------------------
  26.  
  27. [Identification]
  28.     OptionType = NetAdapter
  29.  
  30. ;-----------------------------------------------------------------------
  31. ; PlatformsSupported
  32. ; ------------------
  33. ; This identifies the platforms supported by the adapter card.
  34. ; Possible types are:
  35. ;
  36. ; ISA and EISA
  37. ;-----------------------------------------------------------------------
  38.  
  39. [PlatformsSupported]
  40.     ISA
  41.     EISA
  42.     MCA
  43.     "Jazz-Internal Bus"
  44.     PCMCIA
  45.     PCI
  46.  
  47. [LanguagesSupported]
  48.     ENG
  49.  
  50. ;-----------------------------------------------------------------------
  51. ; OPTION LIST
  52. ; -----------
  53. ; This section lists the OEM Option key names.  These keys are locale
  54. ; independent and used to represent the option in a locale independent
  55. ; manner.
  56. ;
  57. ;-----------------------------------------------------------------------
  58.  
  59. [Options]
  60.     TKXP16
  61.     ;PCMCIA
  62.     ;COMBO
  63.  
  64. [OptionsTextENG]
  65.     TKXP16 = "Intel TokenExpress 16/4 Adapter"
  66.     ;PCMCIA = "Olicom GoCard TR 16/4"
  67.     ;COMBO  = "Olicom GoCard TR/Modem 144"
  68.  
  69. [IOBaseAddrChoices]
  70. IOBase_0  = "Auto detect", 0
  71. IOBase_1  = "0A00-0A1F", 2560
  72. IOBase_2  = "0A20-0A3F", 2592
  73. IOBase_3  = "0A40-0A5F", 2624
  74. IOBase_4  = "0A60-0A7F", 2656
  75. IOBase_5  = "0A80-0A9F", 2688
  76. IOBase_6  = "0AA0-0ABF", 2720
  77. IOBase_7  = "0AC0-0ADF", 2752
  78. IOBase_8  = "0AE0-0AFF", 2874
  79. IOBase_9  = "0B00-0B1F", 2816
  80. IOBase_10 = "0B20-0B3F", 2848
  81. IOBase_11 = "0B40-0B5F", 2880
  82. IOBase_12 = "0B60-0B7F", 2912
  83. IOBase_13 = "0B80-0B9F", 2944
  84. IOBase_14 = "0BA0-0BBF", 2976
  85. IOBase_15 = "0BC0-0BDF", 3008
  86. IOBase_16 = "0BE0-0BFF", 3040
  87. IOBase_20 = "0A20-0A23,0A30-0A3F", 2592
  88. IOBase_21 = "0A24-0A27,0A40-0A4F", 2596
  89. IOBase_22 = "0A50-0A53,0A60-0A6F", 2640
  90. IOBase_23 = "0A54-0A57,0A70-0A7F", 2644
  91.  
  92. [ReceiveBufferCountChoices]
  93. RBC_1 = "32",32
  94. RBC_2 = "31",31
  95. RBC_3 = "30",30
  96. RBC_4 = "29",29
  97. RBC_5 = "28",28
  98. RBC_6 = "27",27
  99. RBC_7 = "26",26
  100. RBC_8 = "25",25
  101. RBC_9 = "24",24
  102. RBC_10 = "23",23
  103. RBC_11 = "22",22
  104. RBC_12 = "21",21
  105. RBC_13 = "20",20
  106. RBC_14 = "19",19
  107. RBC_15 = "18",18
  108. RBC_16 = "17",17
  109. RBC_17 = "16",16
  110. RBC_18 = "15",15
  111. RBC_19 = "14",14
  112. RBC_20 = "13",13
  113. RBC_21 = "12",12
  114. RBC_22 = "11",11
  115. RBC_23 = "10",10
  116. RBC_24 = "9",9
  117. RBC_25 = "8",8
  118. RBC_26 = "7",7
  119. RBC_27 = "6",6
  120. RBC_28 = "5",5
  121.  
  122. [TransmitBufferCountChoices]
  123. XBC_1 = "32",32
  124. XBC_2 = "31",31
  125. XBC_3 = "30",30
  126. XBC_4 = "29",29
  127. XBC_5 = "28",28
  128. XBC_6 = "27",27
  129. XBC_7 = "26",26
  130. XBC_8 = "25",25
  131. XBC_9 = "24",24
  132. XBC_10 = "23",23
  133. XBC_11 = "22",22
  134. XBC_12 = "21",21
  135. XBC_13 = "20",20
  136. XBC_14 = "19",19
  137. XBC_15 = "18",18
  138. XBC_16 = "17",17
  139. XBC_17 = "16",16
  140. XBC_18 = "15",15
  141. XBC_19 = "14",14
  142. XBC_20 = "13",13
  143. XBC_21 = "12",12
  144. XBC_22 = "11",11
  145. XBC_23 = "10",10
  146. XBC_24 = "9",9
  147. XBC_25 = "8",8
  148. XBC_26 = "7",7
  149. XBC_27 = "6",6
  150. XBC_28 = "5",5
  151. XBC_29 = "4",4
  152. XBC_30 = "3",3
  153. XBC_31 = "2",2
  154.  
  155. [MaxFrameSizeChoices]
  156. MFS_1 = "8 KBytes",8192
  157. MFS_2 = "6 KBytes",6144
  158. MFS_3 = "4 KBytes",4096
  159. MFS_4 = "2 KBytes",2048
  160.  
  161. [BusNumberChoices]
  162. BusNo_1 = "0",0
  163. BusNo_2 = "1",1
  164. BusNo_3 = "2",2
  165. BusNo_4 = "3",3
  166. BusNo_5 = "4",4
  167. BusNo_6 = "5",5
  168. BusNo_7 = "6",6
  169. BusNo_8 = "7",7
  170.  
  171. [IOBasePCMCIAChoices]
  172. ; 3E0h is where PCIC is (normally) located
  173. ; 240h is where TCIC is (normally) located
  174. ; therefore user cannot select these for locating the adapter
  175. IOBase_1  = "200h",512
  176. IOBase_2  = "220h",544
  177. IOBase_3  = "260h",608
  178. IOBase_4  = "280h",640
  179. IOBase_5  = "2A0h",672
  180. IOBase_6  = "2C0h",714
  181. IOBase_7  = "2E0h",746
  182. IOBase_8  = "300h",768
  183. IOBase_9  = "320h",800
  184. IOBase_10 = "340h",832
  185. IOBase_11 = "360h",864
  186. IOBase_12 = "380h",896
  187. IOBase_13 = "3A0h",928
  188. IOBase_14 = "3C0h",960
  189. IOBase_15 = "A00h",2560
  190. IOBase_16 = "A20h",2592
  191. IOBase_17 = "A40h",2624
  192. IOBase_18 = "A60h",2656
  193. IOBase_19 = "A80h",2688
  194. IOBase_20 = "AA0h",2720
  195. IOBase_21 = "AC0h",2752
  196. IOBase_22 = "AE0h",2784
  197. IOBase_23 = "B00h",2816
  198. IOBase_24 = "B20h",2848
  199. IOBase_25 = "B40h",2880
  200. IOBase_26 = "B60h",2912
  201. IOBase_27 = "B80h",2944
  202. IOBase_28 = "BA0h",2976
  203. IOBase_29 = "BC0h",3008
  204. IOBase_30 = "BE0h",3040
  205.  
  206. [MemWinChoices]
  207. MemWin_1  = "A0000h", 655360
  208. MemWin_2  = "A1000h", 659456
  209. MemWin_3  = "A2000h", 663552
  210. MemWin_4  = "A3000h", 667648
  211. MemWin_5  = "A4000h", 671744
  212. MemWin_6  = "A5000h", 675840
  213. MemWin_7  = "A6000h", 679936
  214. MemWin_8  = "A7000h", 684032
  215. MemWin_9  = "A8000h", 688128
  216. MemWin_10 = "A9000h", 692224
  217. MemWin_11 = "AA000h", 696320
  218. MemWin_12 = "AB000h", 700416
  219. MemWin_13 = "AC000h", 704512
  220. MemWin_14 = "AD000h", 708608
  221. MemWin_15 = "AE000h", 712704
  222. MemWin_16 = "AF000h", 716800
  223. MemWin_17 = "B0000h", 720896
  224. MemWin_18 = "B1000h", 724992
  225. MemWin_19 = "B2000h", 729088
  226. MemWin_20 = "B3000h", 733184
  227. MemWin_21 = "B4000h", 737280
  228. MemWin_22 = "B5000h", 741376
  229. MemWin_23 = "B6000h", 745472
  230. MemWin_24 = "B7000h", 749568
  231. MemWin_25 = "B8000h", 753664
  232. MemWin_26 = "B9000h", 757760
  233. MemWin_27 = "BA000h", 761856
  234. MemWin_28 = "BB000h", 765952
  235. MemWin_29 = "BC000h", 770048
  236. MemWin_30 = "BD000h", 774144
  237. MemWin_31 = "BE000h", 778240
  238. MemWin_32 = "BF000h", 782336
  239. MemWin_33 = "C0000h", 786432
  240. MemWin_34 = "C1000h", 790528
  241. MemWin_35 = "C2000h", 794624
  242. MemWin_36 = "C3000h", 798720
  243. MemWin_37 = "C4000h", 802816
  244. MemWin_38 = "C5000h", 806912
  245. MemWin_39 = "C6000h", 811008
  246. MemWin_40 = "C7000h", 815104
  247. MemWin_41 = "C8000h", 819200
  248. MemWin_42 = "C9000h", 823296
  249. MemWin_43 = "CA000h", 827392
  250. MemWin_44 = "CB000h", 831488
  251. MemWin_45 = "CC000h", 835584
  252. MemWin_46 = "CD000h", 839680
  253. MemWin_47 = "CE000h", 843776
  254. MemWin_48 = "CF000h", 847872
  255. MemWin_49 = "D0000h", 851968
  256. MemWin_50 = "D1000h", 856064
  257. MemWin_51 = "D2000h", 860160
  258. MemWin_52 = "D3000h", 864256
  259. MemWin_53 = "D4000h", 868352
  260. MemWin_54 = "D5000h", 872448
  261. MemWin_55 = "D6000h", 876544
  262. MemWin_56 = "D7000h", 880640
  263. MemWin_57 = "D8000h", 884736
  264. MemWin_58 = "D9000h", 888832
  265. MemWin_59 = "DA000h", 892928
  266. MemWin_60 = "DB000h", 897024
  267. MemWin_61 = "DC000h", 901120
  268. MemWin_62 = "DD000h", 905216
  269. MemWin_63 = "DE000h", 909312
  270. MemWin_64 = "DF000h", 913408
  271. MemWin_65 = "E0000h", 917504
  272. MemWin_66 = "E1000h", 921600
  273. MemWin_67 = "E2000h", 925696
  274. MemWin_68 = "E3000h", 929792
  275. MemWin_69 = "E4000h", 933888
  276. MemWin_70 = "E5000h", 937984
  277. MemWin_71 = "E6000h", 942080
  278. MemWin_72 = "E7000h", 946176
  279. MemWin_73 = "E8000h", 950272
  280. MemWin_74 = "E9000h", 954368
  281. MemWin_75 = "EA000h", 958464
  282. MemWin_76 = "EB000h", 962560
  283. MemWin_77 = "EC000h", 966656
  284. MemWin_78 = "ED000h", 970752
  285. MemWin_79 = "EE000h", 974848
  286. MemWin_80 = "EF000h", 978944
  287. MemWin_81 = "F0000h", 983040
  288. MemWin_82 = "F1000h", 987136
  289. MemWin_83 = "F2000h", 991232
  290. MemWin_84 = "F3000h", 995328
  291. MemWin_85 = "F4000h", 999424
  292. MemWin_86 = "F5000h", 1003520
  293. MemWin_87 = "F6000h", 1007616
  294. MemWin_88 = "F7000h", 1011712
  295. MemWin_89 = "F8000h", 1015808
  296. MemWin_90 = "F9000h", 1019904
  297. MemWin_91 = "FA000h", 1024000
  298. MemWin_92 = "FB000h", 1028096
  299. MemWin_93 = "FC000h", 1032192
  300. MemWin_94 = "FD000h", 1036288
  301. MemWin_95 = "FE000h", 1040384
  302. MemWin_96 = "FF000h", 1044480
  303.  
  304. [InterruptChoices]
  305. Interrupt_1  = "3", 3
  306. Interrupt_2  = "4", 4
  307. Interrupt_3  = "5", 5
  308. Interrupt_4  = "7", 7
  309. Interrupt_5  = "9", 9
  310. Interrupt_6  = "10",10
  311. Interrupt_7  = "11",11
  312. Interrupt_8  = "12",12
  313. Interrupt_9  = "14",14
  314. Interrupt_10 = "15",15
  315.  
  316. [ComPortChoices]
  317. Com_1 = "COM1", 1016
  318. Com_2 = "COM2", 760
  319. Com_3 = "COM3", 1000
  320. Com_4 = "COM4", 744
  321. Com_5 = "COM5", 24
  322. Com_6 = "Disabled", 0
  323.  
  324. [IOBasePCMCIAControllerChoices]
  325. IOBase_1  = "Default",992
  326. IOBase_2  = "3E2h",994
  327. IOBase_3  = "Disable PCMCIA",0
  328.  
  329. [WaitstateChoices]
  330. Waitstate_1  = "0", 0
  331. Waitstate_2  = "1", 1
  332. Waitstate_3  = "2", 2
  333. Waitstate_4  = "3", 3
  334. Waitstate_5  = "4", 4
  335. Waitstate_6  = "5", 5
  336. Waitstate_7  = "6", 6
  337. Waitstate_8  = "7", 7
  338. Waitstate_9  = "8", 8
  339. Waitstate_10 = "9", 9
  340. Waitstate_11 = "10",10
  341. Waitstate_12 = "11",11
  342. Waitstate_13 = "12",12
  343. Waitstate_14 = "13",13
  344. Waitstate_15 = "14",14
  345. Waitstate_16 = "15",15
  346.  
  347. [DatasizeChoices]
  348. Datasize_1 = 1, 1,"&16 Bit"
  349. Datasize_2 = 2, 0,"&8 Bit"
  350.  
  351. [RingSpeedChoices]
  352. RS_1 = "16 Mbps", 16
  353. RS_2 = "4 Mbps", 4
  354.  
  355. ;-----------------------------------------------------------------------
  356. ; Constants for use with dialogs
  357. ;-----------------------------------------------------------------------
  358.  
  359. [FileConstants]
  360. UtilityInf      = "UTILITY.INF"
  361. subroutineinf   = "SUBROUTN.INF"
  362. SoftwareType    = "driver"
  363. Exit_Code       = 0
  364. DialogDllName   = "octk16.dll"
  365. HelpfileName    = "octk16.hlp"
  366. NetEventDLL     = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\Octk16.sys"
  367. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  368. Manufacturer    = "Intel"
  369. ProductMajorVersion     = "3"
  370. ProductMinorVersion     = "23"
  371. ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
  372. ProductSoftwareName     = "tkxp16"
  373. ProductSoftwareTitle    = "Intel TokenExpress 16/4 Adapter Driver"
  374. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\octk16.sys"
  375. NetRuleSoftwareType     = "tkxp16Sys ndisDriver tkxp16Driver"
  376. NetRuleSoftwareUse      = $(SoftwareType)
  377. NetRuleSoftwareBindForm = """tkxp16Sys"" yes no container"
  378. NetRuleSoftwareClass    = {"tkxp16Driver basic"}
  379. NetRuleSoftwareBindable = {"tkxp16Driver tkxp16Adapter non exclusive 100"}
  380. ProductHardwareName     = "tkxp16"
  381. ProductHardwareTKXP16Title = "Intel TokenExpress 16/4 Adapter"
  382. ProductHardwarePCMCIATitle = "Olicom GoCard TR 16/4"
  383. ProductHardwareCOMBOTitle  = "Olicom GoCard TR/Modem 144"
  384. NetRuleHardwareType     = "tkxp16 tkxp16Adapter"
  385. NetRuleHardwareBindForm = " yes yes container"
  386. NetRuleHardwareClass    = {"tkxp16Adapter basic"}
  387. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  388. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  389.  
  390. [GeneralConstants]
  391. from      = ""
  392. to        = ""
  393. ExitCodeOk     = 0
  394. ExitCodeCancel = 1
  395. ExitCodeFatal  = 2
  396. KeyNull         = ""
  397. MAXIMUM_ALLOWED   = 33554432
  398. RegistryErrorIndex = NO_ERROR
  399. KeyProduct      = ""
  400. KeyParameters   = ""
  401. TRUE            = 1
  402. FALSE           = 0
  403. NoTitle         = 0
  404. ExitState       = "Active"
  405. OldVersionExisted = $(FALSE)
  406. DriverPath      = $(!STF_NTPATH)\drivers
  407. [FileConstantsENG]
  408. ProCaption   = "Windows NT Setup"
  409. ProCancel    = "Cancel"
  410. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  411.            "Are you sure you want to cancel copying files?"
  412. ProCancelCap = "Network Setup Message"
  413. ProText1     = "Copying:"
  414. ProText2     = "To:"
  415. TKXP16FunctionTitle = "Intel TokenExpress 16/4 Adapter Setup"
  416. PCMCIAFunctionTitle = "Olicom GoCard TR 16/4 Setup"
  417. COMBOFunctionTitle  = "Olicom GoCard TR/Modem 144 Setup"
  418. ProductHardwareTKXP16Description = "Intel TokenExpress 16/4 Adapter"
  419. ProductHardwarePCMCIADescription = "Olicom GoCard TR 16/4"
  420. ProductHardwareCOMBODescription  = "Olicom GoCard TR/Modem 144"
  421. ProductSoftwareDescription       = "Intel TokenExpress Adapter Driver"
  422. FunctionTitle   = $($(Option)FunctionTitle)
  423.  
  424. IOBaseAddrList = ^(IOBaseAddrChoices, 1)
  425. IOBaseAddrValues = ^(IOBaseAddrChoices, 2)
  426. RcvBufCountList  = ^(ReceiveBufferCountChoices, 1)
  427. RcvBufCountValues = ^(ReceiveBufferCountChoices, 2)
  428. XmitBufCountList = ^(TransmitBufferCountChoices, 1)
  429. XmitBufCountValues = ^(TransmitBufferCountChoices, 2)
  430. FrameSizeList = ^(MaxFrameSizeChoices, 1)
  431. FrameSizeValues = ^(MaxFrameSizeChoices, 2)
  432. BusNoList = ^(BusNumberChoices, 1)
  433. BusNoValues = ^(BusNumberChoices, 2)
  434. IOBasePCMCIAList = ^(IOBasePCMCIAChoices, 1)
  435. IOBasePCMCIAValues = ^(IOBasePCMCIAChoices, 2)
  436. MemWinList = ^(MemWinChoices, 1)
  437. MemWinValues = ^(MemWinChoices, 2)
  438. InterruptList = ^(InterruptChoices, 1)
  439. InterruptValues = ^(InterruptChoices, 2)
  440. RingSpeedList = ^(RingSpeedChoices, 1)
  441. RingSpeedValues = ^(RingSpeedChoices, 2)
  442. ComPortList = ^(ComPortChoices, 1)
  443. ComPortValues = ^(ComPortChoices, 2)
  444. IOBasePCMCIAControllerList = ^(IOBasePCMCIAControllerChoices, 1)
  445. IOBasePCMCIAControllerValues = ^(IOBasePCMCIAControllerChoices, 2)
  446. WaitstateList = ^(WaitstateChoices, 1)
  447. WaitstateValues = ^(WaitstateChoices, 2)
  448. DatasizeList = ^(DatasizeChoices, 1)
  449. DatasizeValues = ^(DatasizeChoices, 2)
  450. DatasizeLabels = ^(DatasizeChoices, 3)
  451.  
  452. IOBasePCMCIADefault = 15
  453. MemWinDefault       = 49
  454. ComPortDefault      = 3
  455. InterruptDefault    = 3
  456.  
  457. [DialogConstantsENG]
  458. Help        = "&Help"
  459. Exit        = "Cancel"
  460. OK          = "OK"
  461. HelpContext = ""
  462. Continue    = "Continue"
  463. Cancel      = "Cancel"
  464. ContextMinimumID        = 6000
  465. ContextContentsID       = 6000
  466. ContextPCMCIASetupID    = 6001
  467. ContextPCMCIAAdvancedID = 6002
  468. ContextMaximumID        = 6020
  469.  
  470. [date]
  471.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  472.  
  473. [AskSourceDlgText]
  474.     DlgText        = "Please enter the full path of the Intel TokenExpress 16/4 driver "+
  475.              "setup files. Then choose Continue."
  476.  
  477. ;-----------------------------------------------------------------------
  478. ; ADAPTER PARAMETER DIALOG
  479. ; ------------------------
  480. ; This section sets up the adapter parameter dialog. All textstrings
  481. ; presented in this dialog are defined here.
  482. ;
  483. ;-----------------------------------------------------------------------
  484. [TKXP16ParameterDlgENG]
  485. DlgType = "RadioCombination"
  486. DlgTemplate = "OCTK16"
  487. Caption = $(FunctionTitle)
  488. DlgText = "Please select values for the following fields:"
  489. Combo1Label = "&I/O Base Address:"
  490. Combo2Label = "&Receive Buffers:"
  491. Combo3Label = "&Transmit Buffers:"
  492. Combo4Label = "&Max Frame Size:"
  493. Combo5Label = "&Bus Number:"
  494. Label1 = "&Early Token Release:"
  495. Radio1 = "Yes"
  496. Radio2 = "No"
  497. Label2 = "&Full Transmit Status:"
  498. Radio3 = "Yes"
  499. Radio4 = "No"
  500. Edit1Label = "&Network Address:"
  501. Combo1List = $(IOBaseAddrList)
  502. Combo1Out  = $(IOBaseAddrIndex)
  503. Combo2List = $(RcvBufCountList)
  504. Combo2Out  = $(RcvBufCountIndex)
  505. Combo3List = $(XmitBufCountList)
  506. Combo3Out  = $(XmitBufCountIndex)
  507. Combo4List = $(FrameSizeList)
  508. Combo4Out  = $(FrameSizeIndex)
  509. Combo5List = $(BusNoList)
  510. Combo5Out  = $(BusNoIndex)
  511. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List}
  512. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out}
  513. EditTextLim = 17
  514. EditTextIn = $(NetworkAddress)
  515. RadioOptionGreyed = {}
  516. CBOptionsGreyed = {}
  517. NotifyFields = {NO, NO, NO, NO, NO}
  518. HelpContext = $(ContextContentsID)
  519.  
  520. ;-----------------------------------------------------------------------
  521. ; PCMCIA PARAMETER MAIN DIALOG
  522. ; ----------------------------
  523. ; This section sets up the adapter parameter dialog. All textstrings
  524. ; presented in this dialog are defined here.
  525. ;
  526. ;-----------------------------------------------------------------------
  527. [PCMCIAParameterDlgENG]
  528. DlgType = "RadioCombination"
  529. DlgTemplate = "PCMCIA"
  530. Caption = $(FunctionTitle)
  531. DlgText = "Please select values for the following fields:"
  532. Free        = "&Pcmcia..."
  533. Combo1Label = "&I/O Base Address:"
  534. Combo2Label = "&Receive Buffers:"
  535. Combo3Label = "&Transmit Buffers:"
  536. Combo4Label = "&Max Frame Size:"
  537. Combo5Label = "&Bus Number:"
  538. Label1 = "&Early Token Release:"
  539. Radio1 = "Yes"
  540. Radio2 = "No"
  541. Label2 = "&Full Transmit Status:"
  542. Radio3 = "Yes"
  543. Radio4 = "No"
  544. Edit1Label = "&Network Address:"
  545. Combo1List = $(IOBaseAddrList)
  546. Combo1Out  = $(IOBaseAddrIndex)
  547. Combo2List = $(RcvBufCountList)
  548. Combo2Out  = $(RcvBufCountIndex)
  549. Combo3List = $(XmitBufCountList)
  550. Combo3Out  = $(XmitBufCountIndex)
  551. Combo4List = $(FrameSizeList)
  552. Combo4Out  = $(FrameSizeIndex)
  553. Combo5List = $(BusNoList)
  554. Combo5Out  = $(BusNoIndex)
  555. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List}
  556. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out}
  557. EditTextLim = 17
  558. EditTextIn = $(NetworkAddress)
  559. RadioOptionGreyed = {}
  560. CBOptionsGreyed = {}
  561. NotifyFields = {NO, NO, NO, NO, NO}
  562. HelpContext = $(ContextContentsID)
  563.  
  564. ;-----------------------------------------------------------------------
  565. ; PCMCIA COMBO Cards PARAMETER MAIN DIALOG
  566. ; ----------------------------------------
  567. ; This section sets up the adapter parameter dialog. All textstrings
  568. ; presented in this dialog are defined here.
  569. ;
  570. ;-----------------------------------------------------------------------
  571. [COMBOParameterDlgENG]
  572. DlgType = "RadioCombination"
  573. DlgTemplate = "PCMCIA"
  574. Caption = $(FunctionTitle)
  575. DlgText = "Please select values for the following fields:"
  576. Free        = "&Pcmcia..."
  577. Combo1Label = "&I/O Base Address:"
  578. Combo2Label = "&Receive Buffers:"
  579. Combo3Label = "&Transmit Buffers:"
  580. Combo4Label = "&Max Frame Size:"
  581. Combo5Label = "&Bus Number:"
  582. Label1 = "&Early Token Release:"
  583. Radio1 = "Yes"
  584. Radio2 = "No"
  585. Label2 = "&Full Transmit Status:"
  586. Radio3 = "Yes"
  587. Radio4 = "No"
  588. Edit1Label = "&Network Address:"
  589. Combo1List = $(IOBaseAddrList)
  590. Combo1Out  = $(IOBaseAddrIndex)
  591. Combo2List = $(RcvBufCountList)
  592. Combo2Out  = $(RcvBufCountIndex)
  593. Combo3List = $(XmitBufCountList)
  594. Combo3Out  = $(XmitBufCountIndex)
  595. Combo4List = $(FrameSizeList)
  596. Combo4Out  = $(FrameSizeIndex)
  597. Combo5List = $(BusNoList)
  598. Combo5Out  = $(BusNoIndex)
  599. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List}
  600. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out}
  601. EditTextLim = 17
  602. EditTextIn = $(NetworkAddress)
  603. RadioOptionGreyed = {}
  604. CBOptionsGreyed = {}
  605. NotifyFields = {NO, NO, NO, NO, NO}
  606. HelpContext = $(ContextContentsID)
  607.  
  608. ;-----------------------------------------------------------------------
  609. ; MORE PCMCIA PARAMETER DIALOG
  610. ; ----------------------------
  611. ; This section sets up the PCMCIA parameter dialog. All textstrings
  612. ; presented in this dialog are defined here.
  613. ;
  614. ;-----------------------------------------------------------------------
  615.  
  616. [PCMCIAMoreDlgENG]
  617. DlgType = "RadioCombination"
  618. DlgTemplate = "PCMCIAM"
  619. Caption = "Pcmcia Setup"
  620. DlgText = "Please select values for the following fields:"
  621. Free        = "&Advanced..."
  622. Combo1Label = "I/O &Base Address:"
  623. Combo2Label = "&Memory Window:"
  624. Combo3Label = "&Interrupt:"
  625. Combo4Label = "&Ring Speed:"
  626. Combo1List = $(IOBasePCMCIAList)
  627. Combo1Out  = $(IOBasePCMCIAIndex)
  628. Combo2List = $(MemWinList)
  629. Combo2Out  = $(MemWinIndex)
  630. Combo3List = $(InterruptList)
  631. Combo3Out  = $(InterruptIndex)
  632. Combo4List = $(RingSpeedList)
  633. Combo4Out  = $(RingSpeedIndex)
  634. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List}
  635. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out}
  636. RadioOptionGreyed = {}
  637. CBOptionsGreyed = {}
  638. NotifyFields = {NO, NO, NO, NO, NO}
  639. HelpContext = $(ContextPCMCIASetupID)
  640.  
  641. ;-----------------------------------------------------------------------
  642. ; MORE COMBO PARAMETER DIALOG
  643. ; ---------------------------
  644. ; This section sets up the PCMCIA parameter dialog. All textstrings
  645. ; presented in this dialog are defined here.
  646. ;
  647. ;-----------------------------------------------------------------------
  648.  
  649. [COMBOMoreDlgENG]
  650. DlgType = "RadioCombination"
  651. DlgTemplate = "COMBOM"
  652. Caption = "Pcmcia Setup"
  653. DlgText = "Please select values for the following fields:"
  654. Free        = "&Advanced..."
  655. Combo1Label = "I/O &Base Address:"
  656. Combo2Label = "&Memory Window:"
  657. Combo3Label = "&Interrupt:"
  658. Combo4Label = "&Ring Speed:"
  659. Combo5Label = "&Com Port:"
  660. Combo1List = $(IOBasePCMCIAList)
  661. Combo1Out  = $(IOBasePCMCIAIndex)
  662. Combo2List = $(MemWinList)
  663. Combo2Out  = $(MemWinIndex)
  664. Combo3List = $(InterruptList)
  665. Combo3Out  = $(InterruptIndex)
  666. Combo4List = $(RingSpeedList)
  667. Combo4Out  = $(RingSpeedIndex)
  668. Combo5List = $(ComPortList)
  669. Combo5Out  = $(ComPortIndex)
  670. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List}
  671. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out}
  672. RadioOptionGreyed = {}
  673. CBOptionsGreyed = {}
  674. NotifyFields = {NO, NO, NO, NO, NO}
  675. HelpContext = $(ContextPCMCIASetupID)
  676.  
  677. ;-----------------------------------------------------------------------
  678. ; PCMCIA ADVANCED SETTINGS DIALOG
  679. ; -------------------------------
  680. ; This section sets up the PCMCIA adavanced settings dialog. All
  681. ; textstrings presented in this dialog are defined here.
  682. ;
  683. ;-----------------------------------------------------------------------
  684.  
  685. [PCMCIAAdvancedDlgENG]
  686. DlgType = "RadioCombination"
  687. DlgTemplate = "PCMCIAADV"
  688. Caption = "Pcmcia Advanced Settings"
  689. DlgText = "Please select values for the following fields:"
  690. Combo1Label = "&Controller I/O Base:"
  691. Combo2Label = "&Additional Waitstates:"
  692. Radio1Label = "&Datasize:"
  693. Radio1Button1 = *($(DatasizeLabels),1)
  694. Radio1Button2 = *($(DatasizeLabels),2)
  695. Combo1List = $(IOBasePCMCIAControllerList)
  696. Combo1Out  = $(IOBasePCMCIAControllerIndex)
  697. Combo2List = $(WaitstateList)
  698. Combo2Out  = $(WaitstateIndex)
  699. ComboListItemsIn  = {Combo1List, Combo2List}
  700. ComboListItemsOut = {Combo1Out, Combo2Out}
  701. RadioIn = { $(DatasizeIndex) }
  702. RadioOptionGreyed = {}
  703. CBOptionsGreyed = {}
  704. NotifyFields = {NO, NO, NO, NO, NO}
  705. HelpContext = $(ContextPCMCIAAdvancedID)
  706.  
  707. ;---------------------------------------------------------------------------
  708. ; 1. Identify
  709. ;
  710. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  711. ;                as we are choosing currently.
  712. ;
  713. ; INPUT:         None
  714. ;
  715. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  716. ;                $($R1): Option Type (COMPUTER ...)
  717. ;                $($R2): Diskette description
  718. ;---------------------------------------------------------------------------
  719.  
  720. [Identify]
  721.     read-syms Identification
  722.     set Status     = STATUS_SUCCESSFUL
  723.     set Identifier = $(OptionType)
  724.     set Media      = #("Source Media Descriptions", 1, 1)
  725.     Return $(Status) $(Identifier) $(Media)
  726.  
  727. ;------------------------------------------------------------------------
  728. ; 2. ReturnOptions:
  729. ;
  730. ; DESCRIPTION:   To return the option list supported by this INF and the
  731. ;                localised text list representing the options.
  732. ;
  733. ;
  734. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  735. ;
  736. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  737. ;                                STATUS_NOLANGUAGE
  738. ;                                STATUS_FAILED
  739. ;                                STATUS_NOTSUPPORTED
  740. ;
  741. ;                $($R1): Option List
  742. ;                $($R2): Option Text List
  743. ;------------------------------------------------------------------------
  744.  
  745. [ReturnOptions]
  746.     set Status         = STATUS_FAILED
  747.     set OptionList     = {}
  748.     set OptionTextList = {}
  749.     set LanguageList = ^(LanguagesSupported, 1)
  750.     Ifcontains(i) $($0) in $(LanguageList)
  751.     ifstr(i) $($1) == ""
  752.        goto returnoptions
  753.     endif
  754.     set PlatformList = ^(PlatformsSupported, 1)
  755.     Ifcontains(i) $($1) in $(PlatformList)
  756.        goto returnoptions
  757.     else
  758.        set Status = STATUS_NOTSUPPORTED
  759.        goto finish_ReturnOptions
  760.     endif
  761.     else
  762.     set Status = STATUS_NOLANGUAGE
  763.     goto finish_ReturnOptions
  764.     endif
  765. returnoptions = +
  766.     set OptionList     = ^(Options, 1)
  767.     set OptionTextList = ^(OptionsText$($0), 1)
  768.     set Status         = STATUS_SUCCESSFUL
  769. finish_ReturnOptions = +
  770.     Return $(Status) $(OptionList) $(OptionTextList)
  771.  
  772. ;------------------------------------------------------------------------
  773. ;
  774. ; InstallOption:
  775. ;
  776. ;      This section is shelled to by main installation processing
  777. ;      or by NCPASHEL.INF during reconfig, removal, update, etc.
  778. ;
  779. ;
  780. ; FUNCTION:  To copy files representing Options
  781. ;            To configure the installed option
  782. ;            To update the registry for the installed option
  783. ;
  784. ; INPUT:     $($0):  Language to use
  785. ;            $($1):  OptionID to install
  786. ;            $($2):  SourceDirectory
  787. ;            $($3):  AddCopy  (YES | NO)
  788. ;            $($4):  DoCopy   (YES | NO)
  789. ;            $($5):  DoConfig (YES | NO)
  790. ;
  791. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  792. ;                            STATUS_NOLANGUAGE |
  793. ;                            STATUS_USERCANCEL |
  794. ;                            STATUS_FAILED
  795. ;
  796. ;------------------------------------------------------------------------
  797.  
  798. [InstallOption]
  799.     StartWait
  800.     set SrcDir   = ""
  801.     set Option   = $($1)
  802.     set SrcDir   = $($2)
  803.     set AddCopy  = $($3)
  804.     set DoCopy   = $($4)
  805.     set DoConfig = $($5)
  806.     ifstr(i) $(SrcDir) == ""
  807.        Set SrcDir = "A:\"
  808.     Endif
  809.     set LanguageList = ^(LanguagesSupported, 1)
  810.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  811.     Return STATUS_NOLANGUAGE
  812.     endif
  813.     Debug-Output "STF_CWDDIR is: "$(!STF_CWDDIR)
  814.     Debug-Output "STF_LANGUAGE is: "$(!STF_LANGUAGE)
  815.     set-subst LF = "\n"
  816.     read-syms GeneralConstants
  817.     read-syms FileConstants
  818.     read-syms DialogConstants$(!STF_LANGUAGE)
  819.     ifstr(i) $(!NTN_Origination) == "NCPA"
  820.     set Continue = "OK"
  821.     endif
  822.     read-syms FileConstants$(!STF_LANGUAGE)
  823.     detect date
  824.     set-title  $(FunctionTitle)
  825.     set to   = Begin
  826.     set from = Begin
  827.     set CommonStatus = STATUS_SUCCESSFUL
  828.     SetHelpFile $(HelpfileName) $(ContextMinimumID) $(ContextMaximumID)
  829.     EndWait
  830. Begin = +
  831.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  832.     set StartLabel = removeadapter
  833.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  834.     set StartLabel = UpgradeSoftware
  835.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  836.     set StartLabel = bindingadapter
  837.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  838.     set StartLabel = configureadapter
  839.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  840.         Debug-Output "Cannot configure the driver software."
  841.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  842.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  843.         Debug-Output "ShellCode error: cannot get an error string."
  844.         goto ShellCodeError
  845.         endif
  846.         set Error = $($R0)
  847.         set from = end
  848.         set to = end
  849.         goto nonfatalinfo
  850.     endif
  851.     else
  852.     set StartLabel = installadapter
  853.     set OEM_ABANDON_OPTIONS = {}
  854.     set OEM_ABANDON_SOFTWARE = FALSE
  855.     set OEM_ABANDON_ON = TRUE
  856.     endif
  857.     set IOBaseAddrIndex = *($(IOBaseAddrList), 1)
  858.     set BusNoIndex = *($(BusNoList), 1)
  859.     set RcvBufCountIndex = *($(RcvBufCountList), 27)
  860.     set XmitBufCountIndex = *($(XmitBufCountList), 25)
  861.     set FrameSizeIndex = *($(FrameSizeList), 3)
  862.     set NetworkAddress = *($(EditTextOut), 1)
  863.     set RadioIn = { 1, 3 }
  864.     set EarlyRelease = "Yes"
  865.     set FrameStatus = "Yes"
  866.     set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), $(IOBasePCMCIADefault))
  867.     set ComPortIndex = *($(ComPortList), $(ComPortDefault))
  868.     set InterruptIndex = *($(InterruptList), $(InterruptDefault))
  869.     set MemWinIndex = *($(MemWinList), $(MemWinDefault))
  870.     set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1)
  871.     set WaitstateIndex = *($(WaitstateList), 1)
  872.     set DatasizeIndex = 1
  873.     set RingSpeedIndex = *($(RingSpeedList), 1)
  874.     Shell "" DebugConfiguration "After parameter querying"
  875.     Shell $(UtilityInf), GetBusTypeNum
  876.     set BusTypeNum = $($R1)
  877.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  878.     Debug-Output "ShellCode error."
  879.     goto ShellCodeError
  880.     endif
  881.     set RcvBufCountValue = *($(RcvBufCountList), ~($(RcvBufCountValues),6))
  882.     set XmitBufCountValue = *($(XmitBufCountList), ~($(XmitBufCountValues),8))
  883.     set FrameSizeValue = *($(FrameSizeList), ~($(FrameSizeValues),4096))
  884.     Set from = $(fatal)
  885.     Set to = $(fatal)
  886.     Goto $(StartLabel)
  887.  
  888. ;-----------------------------------------------
  889. ; Installation Section
  890. ;-----------------------------------------------
  891. ;
  892. ;   Get the current values of all the parameters
  893. ;
  894. installadapter = +
  895.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  896.     Ifstr $(KeyProduct) != $(KeyNull)
  897.     CloseRegKey $(KeyProduct)
  898.     ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  899.        Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  900.            $(ProductVersion)
  901.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  902.            Debug-Output "ShellCode error: cannot get an error string."
  903.            goto ShellCodeError
  904.        endif
  905.        goto end
  906.     else
  907.        Shell $(UtilityInf), CardExistedDlg
  908.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  909.            Debug-Output "ShellCode error: cannot get an error string."
  910.            goto ShellCodeError
  911.        endif
  912.        ifstr(i) $($R1) != "OK"
  913.            goto end
  914.        endif
  915.        set OldVersionExisted = $(TRUE)
  916.     endif
  917.     endif
  918.  
  919.     Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
  920.  
  921.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  922.     Goto ShellCodeError
  923.     Else-Ifstr(i) $($R0) == STATUS_FAILED
  924.     Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  925.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  926.         goto ShellCodeError
  927.     endif
  928.     set Error = $($R0)
  929.     Goto fatal
  930.     Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  931.     Goto successful
  932.     Endif
  933.  
  934.     Set SrcDir = $($R1)
  935.  
  936.     install "Install-Dll"
  937.  
  938.     Goto adapteroptions
  939.  
  940. ;-----------------------------------------------
  941. ; Configuration Section
  942. ;-----------------------------------------------
  943. ;
  944. ;   Get the current values of all the parameters
  945. ;
  946. configureadapter = +
  947.     Ifstr(i) $(KeyProduct) == $(KeyNull)
  948.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  949.     Ifstr $(KeyProduct) == $(KeyNull)
  950.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  951.         Debug-Output "Cannot find component product key"
  952.         goto fatalregistry
  953.     Endif
  954.     Endif
  955.     Debug-Output "INF: Shelling to FindService"
  956.     Shell $(UtilityInf) FindService, $(KeyProduct)
  957.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  958.     Debug-Output "INF: FindService shell failure"
  959.     Goto ShellCodeError
  960.     Endif
  961.     Ifstr(i) $($R0) != NO_ERROR
  962.     Debug-Output "INF: FindService Shell error: "$($R0)
  963.     Goto fatalregistry
  964.     endif
  965.     Set KeyParameters = $($R2)
  966.     CloseRegKey $($R1)
  967.     Ifstr $(KeyParameters) == $(KeyNull)
  968.     set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  969.     Debug-Output "Cannot find component service"
  970.     goto fatalregistry
  971.     endif
  972.     set OldVersionExisted = $(TRUE)
  973.     set ValueName = ""
  974.     set ValueData = ""
  975.     set ValueStr  = ""
  976.     set ValueList = {}
  977.     EnumRegValue $(KeyParameters) ValueList
  978.     ForListDo $(ValueList)
  979.     set ValueItem = $($)
  980.     set ValueName = *($(ValueItem),1)
  981.     set ValueData = *($(ValueItem),4)
  982.     ifstr(i) $(ValueName) == "RecBufCount"
  983.         set RcvBufCountValue = $(ValueData)
  984.     else-ifstr(i) $(ValueName) == "IoBase"
  985.         set IOBaseAddrValue = $(ValueData)
  986.     else-ifstr(i) $(ValueName) == "TransmitBufferCount"
  987.         set XmitBufCountValue = $(ValueData)
  988.     else-ifstr(i) $(ValueName) == "TransmitBufferSize"
  989.         set FrameSizeValue = $(ValueData)
  990.     else-ifstr(i) $(ValueName) == "BusNumber"
  991.         set BusNoValue = $(ValueData)
  992.     else-ifstr(i) $(ValueName) == "EarlyRelease"
  993.         set EarlyRelease = $(ValueData)
  994.     else-ifstr(i) $(ValueName) == "FrameStatus"
  995.         set FrameStatus = $(ValueData)
  996.     else-Ifstr(i) $(ValueName) == "NetworkAddress"
  997.         set NetworkAddress = $(ValueData)
  998.     else-ifstr(i) $(ValueName) == "IoBaseAddress"
  999.         set IOBasePCMCIAValue = $(ValueData)
  1000.     else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
  1001.         set MemWinValue = $(ValueData)
  1002.     else-ifstr(i) $(ValueName) == "InterruptNumber"
  1003.         set InterruptValue = $(ValueData)
  1004.     else-ifstr(i) $(ValueName) == "ComPortBase"
  1005.         set ComPortValue = $(ValueData)
  1006.     else-ifstr(i) $(ValueName) == "PcmciaCtrlBase"
  1007.         set IOBasePCMCIAControllerValue = $(ValueData)
  1008.     else-ifstr(i) $(ValueName) == "WaitStates"
  1009.         set WaitstateValue = $(ValueData)
  1010.     else-ifstr(i) $(ValueName) == "DataSize"
  1011.         set DatasizeValue = $(ValueData)
  1012.     else-ifstr(i) $(ValueName) == "RingSpeed"
  1013.         set RingSpeedValue = $(ValueData)
  1014.     endif
  1015.     EndForListDo
  1016.     ;
  1017.     ; Combo-lists and radio-buttons use a special list of parameter-names
  1018.     ; when dialogs are executed. The following section converts the actual
  1019.     ; values into the corresponding names (indexes). If a value is undefined,
  1020.     ; the first entry in the index-list is used.
  1021.     ;
  1022.     set RcvBufCountIndex = *($(RcvBufCountList), ~($(RcvBufCountValues),$(RcvBufCountValue)))
  1023.     ifstr(i) $(RcvBufCountIndex) == ""
  1024.     set RcvBufCountIndex = *($(RcvBufCountList), 27)
  1025.     endif
  1026.     set XmitBufCountIndex = *($(XmitBufCountList), ~($(XmitBufCountValues),$(XmitBufCountValue)))
  1027.     ifstr(i) $(XmitBufCountIndex) == ""
  1028.     set XmitBufCountIndex = *($(XmitBufCountList), 25)
  1029.     endif
  1030.     set FrameSizeIndex = *($(FrameSizeList), ~($(FrameSizeValues),$(FrameSizeValue)))
  1031.     ifstr(i) $(FrameSizeIndex) == ""
  1032.     set FrameSizeIndex = *($(FrameSizeList), 3)
  1033.     endif
  1034.     set IOBaseAddrIndex = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrValue)))
  1035.     ifstr(i) $(IOBaseAddrIndex) == ""
  1036.     set IOBaseAddrIndex = *($(IOBaseAddrList), 1)
  1037.     endif
  1038.     set BusNoIndex = *($(BusNoList), ~($(BusNoValues),$(BusNoValue)))
  1039.     ifstr(i) $(BusNoIndex) == ""
  1040.     set BusNoIndex = *($(BusNoList), 1)
  1041.     endif
  1042.     Ifstr(i) $(EarlyRelease) == "Yes"
  1043.     set Rad1 = 1
  1044.     else
  1045.     set Rad1 = 2
  1046.     endif
  1047.     Ifstr(i) $(FrameStatus) == "Yes"
  1048.     set Rad2 = 3
  1049.     else
  1050.     set Rad2 = 4
  1051.     endif
  1052.     set RadioIn = {$(Rad1), $(Rad2) }
  1053.     set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), ~($(IOBasePCMCIAValues),$(IOBasePCMCIAValue)))
  1054.     ifstr(i) $(IOBasePCMCIAIndex) == ""
  1055.     set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), 1)
  1056.     endif
  1057.     set MemWinIndex = *($(MemWinList), ~($(MemWinValues),$(MemWinValue)))
  1058.     ifstr(i) $(MemWinIndex) == ""
  1059.     set MemWinIndex = *($(MemWinList), 49)
  1060.     endif
  1061.     set InterruptIndex = *($(InterruptList), ~($(InterruptValues),$(InterruptValue)))
  1062.     ifstr(i) $(InterruptIndex) == ""
  1063.     set InterruptIndex = *($(InterruptList), 3)
  1064.     endif
  1065.     set ComPortIndex = *($(ComPortList), ~($(ComPortValues),$(ComPortValue)))
  1066.     ifstr(i) $(ComPortIndex) == ""
  1067.     set ComPortIndex = *($(ComPortList), 6)
  1068.     endif
  1069.     set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), ~($(IOBasePCMCIAControllerValues),$(IOBasePCMCIAControllerValue)))
  1070.     ifstr(i) $(IOBasePCMCIAControllerIndex) == ""
  1071.     set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1)
  1072.     endif
  1073.     set WaitstateIndex = *($(WaitstateList), ~($(WaitstateValues),$(WaitstateValue)))
  1074.     ifstr(i) $(WaitstateIndex) == ""
  1075.     set WaitstateIndex = *($(WaitstateList), 2)
  1076.     endif
  1077.     set DatasizeIndex = *($(DatasizeList), ~($(DatasizeValues),$(DatasizeValue)))
  1078.     ifstr(i) $(DatasizeIndex) == ""
  1079.     set DatasizeIndex = *($(DatasizeList), 1)
  1080.     endif
  1081.     ;
  1082.     ; This section runs the dialogs. From the main dialog (adapter parameter
  1083.     ; setup) it is possible to enter the PCMCIA dialog if requested. When
  1084.     ; exiting the PCMCIA dialog the user is returned to the main dialog.
  1085.     ;
  1086. adapteroptions = +
  1087.     Set from = adapteroptions
  1088.     set OldNetAddress = $(NetworkAddress)
  1089.     ;
  1090.     ; Load DLL containing dialogs and verification routines
  1091.     ;
  1092.     LoadLibrary "Intel Driver Disk" $(DialogDllName) DialogHandle
  1093. adapteroptions1 = +
  1094.     ;
  1095.     ; Read main dialog setup and show dialog
  1096.     ;
  1097.     read-syms $(Option)ParameterDlg$(!STF_LANGUAGE)
  1098.     ui start "InputDlg"  $(DialogHandle)
  1099.     ui pop 1
  1100.     ;
  1101.     ; Save new settings because this dialog might be called again.
  1102.     ; If CANCEL was pressed these values will not be used
  1103.     ;
  1104.     set IOBaseAddrIndex = $(Combo1Out)
  1105.     set RcvBufCountIndex = $(Combo2Out)
  1106.     set XmitBufCountIndex = $(Combo3Out)
  1107.     set FrameSizeIndex = $(Combo4Out)
  1108.     set BusNoIndex = $(Combo5Out)
  1109.     IfContains "1" IN $(RadioOut)
  1110.     set EarlyRelease = "Yes"
  1111.     else-IfContains "2" IN $(RadioOut)
  1112.     set EarlyRelease = "No"
  1113.     endif
  1114.     IfContains "3" IN $(RadioOut)
  1115.     set FrameStatus = "Yes"
  1116.     else-IfContains "4" IN $(RadioOut)
  1117.     set FrameStatus = "No"
  1118.     endif
  1119.     set NetworkAddress = *($(EditTextOut),1)
  1120.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  1121.     ;
  1122.     ; parameters have already been stored at this stage
  1123.     ;
  1124.     goto nextstep
  1125.     else-ifstr(i) $(DLGEVENT) == "EXIT"
  1126.     set CommonStatus = STATUS_USERCANCEL
  1127.     Debug-Output "Action: exit. Bye."
  1128.     FreeLibrary $(DialogHandle)
  1129.     goto end
  1130.     else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1"
  1131. adapteroptions2 = +
  1132.     ;
  1133.     ; Read PCMCIA dialog setup and show dialog
  1134.     ;
  1135.     ifstr(i) $(Option) == "PCMCIA"
  1136.         read-syms PCMCIAMoreDlg$(!STF_LANGUAGE)
  1137.     else
  1138.         read-syms COMBOMoreDlg$(!STF_LANGUAGE)
  1139.     Endif
  1140.     ui start "InputDlg"  $(DialogHandle)
  1141.     ui pop 1
  1142.     ;
  1143.     ; Save new settings because this dialog might be called again.
  1144.     ; If CANCEL was pressed these values will not be used
  1145.     ;
  1146.     set IOBasePCMCIAIndex = $(Combo1Out)
  1147.     set MemWinIndex = $(Combo2Out)
  1148.     set InterruptIndex = $(Combo3Out)
  1149.     set RingSpeedIndex = $(Combo4Out)
  1150.     set ComPortIndex = $(Combo5Out)
  1151.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  1152.         ;
  1153.         ; parameters have already been stored at this stage
  1154.         ;
  1155.         goto adapteroptions1
  1156.     else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1"
  1157.         ;
  1158.         ; Read PCMCIA Advanced dialog setup and show dialog
  1159.         ;
  1160.         read-syms PCMCIAAdvancedDlg$(!STF_LANGUAGE)
  1161.         ui start "InputDlg"  $(DialogHandle)
  1162.         ui pop 1
  1163.         ;
  1164.         ; Save new settings because this dialog might be called again.
  1165.         ; If CANCEL was pressed these values will not be used
  1166.         ;
  1167.         set IOBasePCMCIAControllerIndex = $(Combo1Out)
  1168.         set WaitstateIndex = $(Combo2Out)
  1169.         set DatasizeIndex = *($(RadioOut),1)
  1170.         goto adapteroptions2
  1171.     else
  1172.         Debug-Output "Action: unknown: "$(DLGEVENT)
  1173.         FreeLibrary $(DialogHandle)
  1174.         goto end
  1175.     endif
  1176.     else
  1177.     Debug-Output "Action: unknown: "$(DLGEVENT)
  1178.     FreeLibrary $(DialogHandle)
  1179.     goto end
  1180.     endif
  1181.  
  1182. nextstep =+
  1183.     ifstr $(NetworkAddress) != ""
  1184.     ;
  1185.     ; If network address has been entered then verify that it is a
  1186.     ; valid address (not a multicast or broadcast address)
  1187.     ;
  1188.     set FLibraryErrCtl = 1
  1189.     LibraryProcedure DlgResult $(DialogHandle) VerifyAddress $(NetworkAddress)
  1190.     set FLibraryErrCtl = 0
  1191.     ifstr $(DlgResult) != "STATUS_SUCCESS"
  1192.         FreeLibrary $(DialogHandle)
  1193.         set Error = $(DlgResult)
  1194.         goto nonfatal
  1195.     endif
  1196.     endif
  1197.     FreeLibrary $(DialogHandle)
  1198.     ifint $(OldVersionExisted) == $(TRUE)
  1199.     ifstr(i) $(!NTN_InstallMode) == configure
  1200.         goto writeparameters
  1201.     endif
  1202.     endif
  1203.     StartWait
  1204.     Ifint $(OldVersionExisted) != $(FALSE)
  1205.     Goto installhardware
  1206.     Endif
  1207.     ifstr(i) $(!NTN_InstallMode) == "install"
  1208.        Ifstr(i) $(DoCopy) == "YES"
  1209.       Ifstr(i) $(SrcDir) == ""
  1210.          read-syms AskSourceDlgText
  1211.          Shell $(subroutineinf) DoAskSourceEx $(SrcDir) $(DlgText)
  1212.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1213.         Goto ShellCodeError
  1214.          Else-Ifstr(i) $($R0) == STATUS_FAILED
  1215.          Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  1216.          ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1217.              goto ShellCodeError
  1218.          endif
  1219.          set Error = $($R0)
  1220.          Goto fatal
  1221.          Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  1222.          Goto successful
  1223.          Endif
  1224.          Set SrcDir = $($R1)
  1225.       Endif
  1226.        Endif
  1227.        install "Install-Option"
  1228.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1229.       Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  1230.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1231.           goto ShellCodeError
  1232.       endif
  1233.       set Error = $($R0)
  1234.       goto fatal
  1235.        endif
  1236.     endif
  1237.     Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  1238.     $(ProductSoftwareName), +
  1239.     $(ProductSoftwareName), +
  1240.     $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  1241.     $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  1242.     $(NetEventDLL), ""
  1243.     Set OEM_ABANDON_SOFTWARE = TRUE
  1244.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1245.     Debug-Output "ShellCode error"
  1246.     goto ShellCodeError
  1247.     endif
  1248.     set RegistryErrorIndex = $($R0)
  1249.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1250.     EndWait
  1251.     Debug-Output "OEMNADUB.INF: Registry error: add software components"
  1252.     CloseRegKey $($R1)
  1253.     CloseRegKey $($R2)
  1254.     CloseRegKey $($R3)
  1255.     CloseRegKey $($R4)
  1256.     CloseRegKey $($R5)
  1257.     goto fatalregistry
  1258.     endif
  1259.     set SoftProductKey  = $($R1)
  1260.     Set SoftNetRuleKey = $($R2)
  1261.     Set SoftServiceKey  = $($R3)
  1262.     Set SoftParameterKey        = $($R4)
  1263.     Set SoftLinkageKey  = $($R5)
  1264.     set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  1265.                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  1266.                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  1267.                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  1268.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  1269.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  1270.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  1271.     Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  1272.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1273.     Debug-Output "ShellCode error."
  1274.     goto ShellCodeError
  1275.     endif
  1276.     set RegistryErrorIndex = $($R0)
  1277.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1278.     EndWait
  1279.     Debug-Output "Registry error: add value list."
  1280.     CloseRegKey $(SoftProductKey)
  1281.     CloseRegKey $(SoftNetRuleKey)
  1282.     CloseRegKey $(SoftServiceKey)
  1283.     CloseRegKey $(SoftParameterKey)
  1284.     CloseRegKey $(SoftLinkageKey)
  1285.     goto fatalregistry
  1286.     endif
  1287.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  1288.             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  1289.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  1290.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  1291.             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  1292.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  1293.     Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  1294.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1295.     Debug-Output "ShellCode error."
  1296.     goto ShellCodeError
  1297.     endif
  1298.     set RegistryErrorIndex = $($R0)
  1299.     CloseRegKey $(SoftProductKey)
  1300.     CloseRegKey $(SoftNetRuleKey)
  1301.     CloseRegKey $(SoftServiceKey)
  1302.     CloseRegKey $(SoftParameterKey)
  1303.     CloseRegKey $(SoftLinkageKey)
  1304.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1305.     EndWait
  1306.     Debug-Output "Registry error: add value list."
  1307.     goto fatalregistry
  1308.     endif
  1309. ;
  1310. ;   Insert hardware component in registry
  1311. ;
  1312. installhardware =+
  1313.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  1314.     ifint $($R4) != -1
  1315.     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  1316.     endif
  1317.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1318.     Debug-Output "Cannot add hardware component"
  1319.     goto ShellCodeError
  1320.     endif
  1321.     set RegistryErrorIndex = $($R0)
  1322.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1323.     EndWait
  1324.     Debug-Output "Registry error: add hardware component"
  1325.     CloseRegKey $($R1)
  1326.     CloseRegKey $($R2)
  1327.     CloseRegKey $($R3)
  1328.     goto fatalregistry
  1329.     endif
  1330.     set KeyProduct = $($R1)
  1331.     set KeyAdapterRules = $($R2)
  1332.     set KeyParameters = $($R3)
  1333.     set AdapterNumber = $($R4)
  1334.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  1335.                {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  1336.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  1337.                {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  1338.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  1339.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  1340.     Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  1341.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1342.     Debug-Output "ShellCode error"
  1343.     goto ShellCodeError
  1344.     endif
  1345.     CloseRegKey $(KeyProduct)
  1346.     Set KeyProduct = ""
  1347.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  1348.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  1349.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  1350.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  1351.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  1352.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  1353.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  1354.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1355.     Debug-Output "ShellCode error."
  1356.     goto ShellCodeError
  1357.     endif
  1358.     CloseRegKey $(KeyAdapterRules)
  1359.     set RegistryErrorIndex = $($R0)
  1360.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1361.     EndWait
  1362.     Debug-Output "Registry error: add value list."
  1363.     CloseRegKey $(KeyParameters)
  1364.     goto fatalregistry
  1365.     endif
  1366. ;
  1367. ; Write Adapter Parameters to registry
  1368. ;
  1369. writeparameters = +
  1370.     Shell $(UtilityInf), GetBusTypeNum
  1371.     set BusTypeNum = $($R1)
  1372.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1373.     Debug-Output "ShellCode error."
  1374.     goto ShellCodeError
  1375.     endif
  1376.     Ifstr(i) $(KeyParameters) == $(KeyNull)
  1377.     Debug-Output "*** KeyParameters is NULL at writeparameters"
  1378.     Endif
  1379.     ;
  1380.     ; Convert selections from combo-lists and radio-buttons into actual
  1381.     ; parameter values
  1382.     ;
  1383.     set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrIndex)))
  1384.     set BusNoValue = *($(BusNoValues), ~($(BusNoList),$(BusNoIndex)))
  1385.     set RcvBufCountValue = *($(RcvBufCountValues), ~($(RcvBufCountList),$(RcvBufCountIndex)))
  1386.     set XmitBufCountValue = *($(XmitBufCountValues), ~($(XmitBufCountList),$(XmitBufCountIndex)))
  1387.     set FrameSizeValue = *($(FrameSizeValues), ~($(FrameSizeList),$(FrameSizeIndex)))
  1388.     set IOBasePCMCIAValue = *($(IOBasePCMCIAValues), ~($(IOBasePCMCIAList),$(IOBasePCMCIAIndex)))
  1389.     set MemWinValue = *($(MemWinValues), ~($(MemWinList),$(MemWinIndex)))
  1390.     set InterruptValue = *($(InterruptValues), ~($(InterruptList),$(InterruptIndex)))
  1391.     set RingSpeedValue = *($(RingSpeedValues), ~($(RingSpeedList),$(RingSpeedIndex)))
  1392.     set ComPortValue = *($(ComPortValues), ~($(ComPortList),$(ComPortIndex)))
  1393.     set IOBasePCMCIAControllerValue = *($(IOBasePCMCIAControllerValues), ~($(IOBasePCMCIAControllerList),$(IOBasePCMCIAControllerIndex)))
  1394.     set WaitstateValue = *($(WaitstateValues), ~($(WaitstateList),$(WaitstateIndex)))
  1395.     set DatasizeValue = *($(DatasizeValues), ~($(DatasizeList),$(DatasizeIndex)))
  1396.  
  1397.     ifstr(i) $(Option) == "COMBO"
  1398.     ;
  1399.     ; If we're installing a ComboCard, update settings for Serial\parameters\serialtkxp16 as well
  1400.     ; SERIALCOMM will be created automatically by serial.sys
  1401.     ;
  1402.     ifint $(ComPortValue) != 0
  1403.         OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialTKXP16"$(AdapterNumber) $(MAXIMUM_ALLOWED) SerialHandle
  1404.         Ifstr $(SerialHandle) == $(KeyNull)
  1405.         OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey
  1406.         CreateRegKey $(SerialKey) {"SerialTKXP16"$(AdapterNumber),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle
  1407.         CloseRegKey $(SerialKey)
  1408.         endif
  1409.         ifint $(ComPortValue) != 24
  1410.         set NewValueList = {{DosDevices,       $(NoTitle),$(!REG_VT_SZ),      $(ComPortIndex)},+
  1411.             {ForceFifoEnable,  $(NoTitle),$(!REG_VT_DWORD),   0},+
  1412.             {ForceShare,       $(NoTitle),$(!REG_VT_DWORD),   1},+
  1413.             {Interrupt,        $(NoTitle),$(!REG_VT_DWORD),   $(InterruptValue)},+
  1414.             {PortAddress,      $(NoTitle),$(!REG_VT_DWORD),   $(ComPortValue)}}
  1415.         Else
  1416.         set-add ComportBaseAddress = $(ComPortValue), $(IOBasePCMCIAValue)
  1417.         set NewValueList = {{DosDevices,       $(NoTitle),$(!REG_VT_SZ),      $(ComPortIndex)},+
  1418.             {ForceFifoEnable,  $(NoTitle),$(!REG_VT_DWORD),   0},+
  1419.             {ForceShare,       $(NoTitle),$(!REG_VT_DWORD),   1},+
  1420.             {Interrupt,        $(NoTitle),$(!REG_VT_DWORD),   $(InterruptValue)},+
  1421.             {PortAddress,      $(NoTitle),$(!REG_VT_DWORD),   $(ComportBaseAddress)}}
  1422.         Endif
  1423.         Shell  $(UtilityInf), AddValueList, $(SerialHandle), $(NewValueList)
  1424.         CloseRegKey $(SerialHandle)
  1425.         ;
  1426.         ; Update settings comm port in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports section
  1427.         ;
  1428.         OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) SerialHandle
  1429.         Ifstr $(SerialHandle) == $(KeyNull)
  1430.         OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey
  1431.         CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle
  1432.         CloseRegKey $(SerialKey)
  1433.         endif
  1434.         SetRegValue $(SerialHandle) {$(ComPortIndex)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"}
  1435.         CloseRegKey $(SerialHandle)
  1436.     Else
  1437.         ; 
  1438.         ; Be nice and delete the COM stuff if user really wants so
  1439.         ; SERIALCOMM will be deleted automatically
  1440.         ; 
  1441.         OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle
  1442.         DeleteRegTree $(SerialHandle) "SerialTKXP16"$(AdapterNumber)
  1443.         CloseRegKey $(SerialHandle)
  1444.     Endif
  1445.     Endif
  1446.     ;
  1447.     ; Set up parameter list for AddValueList routine
  1448.     ;
  1449.     Set NewValueList = {{IoBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+
  1450.             {MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+
  1451.             {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  1452.             {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNoValue)},+
  1453.             {RecBufCount,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+
  1454.             {TransmitBufferCount,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+
  1455.             {TransmitBufferSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+
  1456.             {EarlyRelease,$(NoTitle),$(!REG_VT_SZ),$(EarlyRelease)},+
  1457.             {FrameStatus,$(NoTitle),$(!REG_VT_SZ),$(FrameStatus)},+
  1458.             {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAValue)},+
  1459.             {IoLength,$(NoTitle),$(!REG_VT_DWORD),31},+
  1460.             {PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(MemWinValue)},+
  1461.             {PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),4096},+
  1462.             {PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+
  1463.             {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(InterruptValue)},+
  1464.             {RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RingSpeedValue)},+
  1465.             {ComPortBase,$(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+
  1466.             {PcmciaCtrlBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAControllerValue)},+
  1467.             {Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+
  1468.             {WaitStates,$(NoTitle),$(!REG_VT_DWORD),$(WaitstateValue)},+
  1469.             {DataSize,$(NoTitle),$(!REG_VT_DWORD),$(DatasizeValue)}}
  1470.  
  1471.     ifstr $(NetworkAddress) != ""
  1472.        set NewValueList = >($(NewValueList),{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)})
  1473.     endif
  1474.     ;
  1475.     ; Now update registry
  1476.     ;
  1477.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  1478.     ;
  1479.     ; If the network address has been deleted then also delete it from
  1480.     ; the registry.
  1481.     ;
  1482.     ifstr $(OldNetAddress) != ""
  1483.        ifstr $(NetworkAddress) == ""
  1484.       DeleteRegValue $(KeyParameters) NetworkAddress
  1485.        endif
  1486.     endif
  1487.     ;
  1488.     ; If we're not installing a PCMCIA Card, remove PCMCIA specific settings
  1489.     ;
  1490.     ifstr(i) $(Option) == "TKXP16"
  1491.     DeleteRegValue $(KeyParameters) IoBaseAddress
  1492.     DeleteRegValue $(KeyParameters) IoLength
  1493.     DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryAddress
  1494.     DeleteRegValue $(KeyParameters) PCCARDAttributeMemorySize
  1495.     DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryOffset
  1496.     DeleteRegValue $(KeyParameters) InterruptNumber
  1497.     DeleteRegValue $(KeyParameters) RingSpeed
  1498.     DeleteRegValue $(KeyParameters) ComPortBase
  1499.     DeleteRegValue $(KeyParameters) PcmciaCtrlBase
  1500.     DeleteRegValue $(KeyParameters) Pcmcia
  1501.     DeleteRegValue $(KeyParameters) WaitStates
  1502.     DeleteRegValue $(KeyParameters) DataSize
  1503.     Endif
  1504.     ifstr(i) $(Option) == "PCMCIA"
  1505.     DeleteRegValue $(KeyParameters) ComPortBase
  1506.     Endif
  1507.  
  1508.     CloseRegKey $(KeyParameters)
  1509.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1510.     Debug-Output "ShellCode error."
  1511.     goto ShellCodeError
  1512.     endif
  1513.     set RegistryErrorIndex = $($R0)
  1514.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1515.     Debug-Output "Registry error: Add value list"
  1516.     goto fatalregistry
  1517.     endif
  1518. ;
  1519. ; Add some keywords to the PCMCIA database in the registry
  1520. ;
  1521.     ifstr(i) $(Option) == "PCMCIA"
  1522.     set PCMCIADatabaseKeyName = $(!NTN_ServiceBase)"\Pcmcia\DataBase"
  1523.     OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseKey
  1524.     ifstr $(PCMCIADatabaseKey) != $(NULL)    
  1525.         OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseOlicomKey
  1526.         ifstr $(PCMCIADatabaseOlicomKey) != $(NULL) ; open succeeded, so delete it
  1527.         CloseRegKey $(PCMCIADatabaseOlicomKey)
  1528.         DeleteRegTree $(PCMCIADatabaseKey) "Olicom"
  1529.         endif
  1530.         CreateRegKey $(PCMCIADatabaseKey) {"Olicom", 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIADatabaseOlicomKey
  1531.         CreateRegKey $(PCMCIADatabaseOlicomKey) {"TR16/4", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseOlicom3220Key
  1532.         SetRegValue $(PCMCIADatabaseOlicom3220Key) {Driver, 0, $(!REG_VT_SZ),"tkxp16"}
  1533.         CloseRegKey $(PCMCIADatabaseOlicom3220Key)
  1534.         CreateRegKey $(PCMCIADatabaseOlicomKey) {"TR 16/4 II", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseOlicom3221Key
  1535.         SetRegValue $(PCMCIADatabaseOlicom3221Key) {Driver, 0, $(!REG_VT_SZ),"tkxp16"}
  1536.         CloseRegKey $(PCMCIADatabaseOlicom3221Key)
  1537.     ;
  1538.     ;       When NT 3.51 sees our Combo cards, it enables a COM port only.
  1539.     ;       We therefore rely on our own enabling mechanism in these cases.
  1540.     ;
  1541.     ;       CreateRegKey $(PCMCIADatabaseOlicomKey) {"GoCard Token-Ring 16/4+Modem 14400", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseOlicom3230Key
  1542.     ;       SetRegValue $(PCMCIADatabaseOlicom3230Key) {Driver, 0, $(!REG_VT_SZ),"tkxp16"}
  1543.     ;       CloseRegKey $(PCMCIADatabaseOlicom3230Key)
  1544.     ;       CreateRegKey $(PCMCIADatabaseOlicomKey) {"GoCard Token-Ring 16/4+Modem 28800", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseOlicom3231Key
  1545.     ;       SetRegValue $(PCMCIADatabaseOlicom3231Key) {Driver, 0, $(!REG_VT_SZ),"tkxp16"}
  1546.     ;       CloseRegKey $(PCMCIADatabaseOlicom3231Key)
  1547.     
  1548.         CloseRegKey $(PCMCIADatabaseOlicomKey)
  1549.     Endif
  1550.     Endif
  1551.  
  1552.     EndWait
  1553.     goto successful
  1554.  
  1555. bindingadapter =+
  1556.     set Error = "Binding: Sorry, not yet implemented."
  1557.     goto fatal
  1558.  
  1559. ;-----------------------------------------------
  1560. ; Remove Adapter Section
  1561. ;-----------------------------------------------
  1562. ;
  1563. ;   Remove all adapter information from the registry
  1564. ;
  1565. removeadapter = +
  1566.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  1567.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1568.         $(ProductSoftwareName)
  1569.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1570.         Debug-Output "ShellCode error"
  1571.         goto ShellCodeError
  1572.     endif
  1573.     set RegistryErrorIndex = $($R0)
  1574.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1575.         goto fatalregistry
  1576.     endif
  1577.     else
  1578.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1579.         $(ProductSoftwareName), $(!NTN_RegBase)
  1580.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1581.         Debug-Output "ShellCode error"
  1582.         goto ShellCodeError
  1583.     endif
  1584.     set RegistryErrorIndex = $($R0)
  1585.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1586.         goto fatalregistry
  1587.     endif
  1588.     ;
  1589.     ; Remove associated Com port
  1590.     ;
  1591.     ifstr(i) $(Option) == "COMBO"
  1592.         OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle
  1593.         DeleteRegTree $(SerialHandle) "Serialtkxp16"$(AdapterNumber)
  1594.         CloseRegKey $(SerialHandle)
  1595.     endif
  1596.     endif
  1597.     goto end
  1598.  
  1599. UpgradeSoftware = +
  1600.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  1601.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  1602.     Ifstr $(KeyProduct) != $(KeyNull)
  1603.         GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  1604.         set Version = *($(VersionInfo), 4)
  1605.         Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  1606.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1607.         Debug-Output "ShellCode error"
  1608.         goto ShellCodeError
  1609.         endif
  1610.         set !UG_Filename = $($R0)
  1611.         ifstr(i) $(!UG_Filename) != ""
  1612.         install "Install-Update"
  1613.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1614.             goto fatal
  1615.         endif
  1616.         endif
  1617.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  1618.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  1619.         ifint $(Version) != $(ProductVersion)
  1620.         endif
  1621.         CloseRegKey $(KeyProduct)
  1622.     else
  1623.         goto fatalregistry
  1624.     endif
  1625.     else
  1626.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  1627.           $(MAXIMUM_ALLOWED) NetworkCardKey
  1628.     Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  1629.         GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  1630.         set ServiceName = *($(ServiceNameInfo), 4)
  1631.         OpenRegKey $(NetworkCardKey) "" "NetRules" +
  1632.         $(MAXIMUM_ALLOWED) NetRuleKey
  1633.         Ifstr(i) $(NetRuleKey) != $(KeyNull)
  1634.         else
  1635.         CloseRegKey $(NetworkCardKey)
  1636.         goto fatalregistry
  1637.         endif
  1638.         CloseRegKey $(NetRules)
  1639.         CloseRegKey $(NetworkCardKey)
  1640.     else
  1641.         goto fatalregistry
  1642.     endif
  1643.     OpenRegKey $(!REG_H_LOCAL) "" +
  1644.           $(!NTN_ServiceBase)"\"$(ServiceName) +
  1645.           $(MAXIMUM_ALLOWED) ServiceKey
  1646.     Ifstr(i) $(ServiceKey) != $(KeyNull)
  1647.         CloseRegKey $(ServiceKey)
  1648.     else
  1649.         goto fatalregistry
  1650.     endif
  1651.     endif
  1652.     goto end
  1653. successful = +
  1654.     goto end
  1655. abandon = +
  1656.     ForListDo $(OEM_ABANDON_OPTIONS)
  1657.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1658.         $(ProductSoftwareName), $($)
  1659.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1660.         Debug-Output "ShellCode error"
  1661.         goto ShellCodeError
  1662.     endif
  1663.     set RegistryErrorIndex = $($R0)
  1664.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1665.         goto fatalregistry
  1666.     endif
  1667.     EndForListDo
  1668.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  1669.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1670.         $(ProductSoftwareName), FALSE
  1671.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1672.         Debug-Output "ShellCode error"
  1673.         goto ShellCodeError
  1674.     endif
  1675.     set RegistryErrorIndex = $($R0)
  1676.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1677.         goto fatalregistry
  1678.     endif
  1679.     endif
  1680.     goto end
  1681. warning = +
  1682.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1683.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1684.     goto ShellCodeError
  1685.     endif
  1686.     ifstr(i) $($R1) == "OK"
  1687.     goto $(to)
  1688.     else-ifstr(i) $($R1) == "CANCEL"
  1689.     goto $(from)
  1690.     else
  1691.     goto "end"
  1692.     endif
  1693. nonfatalinfo = +
  1694.     Set Severity = STATUS
  1695.     Set CommonStatus = STATUS_USERCANCEL
  1696.     goto nonfatalmsg
  1697. nonfatal = +
  1698.     Set Severity = NONFATAL
  1699.     goto nonfatalmsg
  1700. nonfatalmsg = +
  1701.     ifstr(i) $(Error) == ""
  1702.     Set Severity = NONFATAL
  1703.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1704.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1705.         goto ShellCodeError
  1706.     endif
  1707.     set Error = $($R0)
  1708.     endif
  1709.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1710.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1711.     goto ShellCodeError
  1712.     endif
  1713.     ifstr(i) $($R1) == "OK"
  1714.     goto $(from)
  1715.     else
  1716.     goto "end"
  1717.     endif
  1718. fatalregistry = +
  1719.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1720.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1721.     goto ShellCodeError
  1722.     endif
  1723.     set Error = $($R0)
  1724.     goto fatal
  1725. fatal = +
  1726.     ifstr(i) $(Error) == ""
  1727.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1728.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1729.         goto ShellCodeError
  1730.     endif
  1731.     set Error = $($R0)
  1732.     endif
  1733.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1734.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1735.     goto ShellCodeError
  1736.     endif
  1737.     goto setfailed
  1738. ShellCodeError = +
  1739.     set DlgType      = "MessageBox"
  1740.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  1741.     set STF_MB_TEXT  = "Shell Code Error"
  1742.     set STF_MB_TYPE  = 1
  1743.     set STF_MB_ICON  = 3
  1744.     set STF_MB_DEF   = 1
  1745.     ui start "Error Message"
  1746.     goto setfailed
  1747. setfailed = +
  1748.     set CommonStatus = STATUS_FAILED
  1749.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1750.     set OEM_ABANDON_ON = FALSE
  1751.     goto abandon
  1752.     endif
  1753.     goto end
  1754. end = +
  1755.     goto term
  1756. term = +
  1757.     Return $(CommonStatus)
  1758.  
  1759. [Install-Option]
  1760.     set STF_VITAL = ""
  1761.     ifstr(i) $(AddCopy) == "YES"
  1762.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1763.     AddSectionFilesToCopyList Files-Stat $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1764.     endif
  1765.     Debug-Output "OEMSETUP.INF: [Install-Option] DoCopy = "$(DoCopy)
  1766.     ifstr(i) $(DoCopy) == "YES"
  1767.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1768.        CopyFilesInCopyList
  1769.     endif
  1770.     Exit
  1771.  
  1772. [Install-Update]
  1773.    set STF_VITAL        = ""
  1774.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1775.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1776.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1777.    AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1778.    AddSectionFilesToCopyList Files-Stat $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1779.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1780.    CopyFilesInCopyList
  1781.    exit
  1782.  
  1783. [Install-Dll]
  1784.    set STF_VITAL        = ""
  1785.    ifstr(i) $(AddCopy) == "YES"
  1786.       AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1787.    endif
  1788.    ifstr(i) $(DoCopy) == "YES"
  1789.       set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1790.       CopyFilesInCopyList
  1791.    endif
  1792.    exit
  1793.  
  1794. [Source Media Descriptions]
  1795.     1  = "Intel Driver Disk"
  1796.  
  1797. [Signature]
  1798.     FileType = MICROSOFT_DRVLIB_FILE
  1799. [GetSignature]
  1800.     read-syms Signature
  1801.     return $(FileType)
  1802.  
  1803. [ProductType]
  1804. STF_PRODUCT  = Winnt
  1805. STF_PLATFORM = I386
  1806.  
  1807. [Files-Inf]
  1808. 1,      oemsetnt.inf,   SIZE=999,       RENAME=$(!UG_Filename)
  1809.  
  1810. [Files-TKXP16]
  1811. 1,      octk16.sys,     SIZE=999
  1812.  
  1813. [Files-PCMCIA]
  1814. 1,      octk16.sys,     SIZE=999
  1815.  
  1816. [Files-COMBO]
  1817. 1,      octk16.sys,     SIZE=999
  1818. 1,      serial.sys,     SIZE=999
  1819.  
  1820. [Files-Dll]
  1821. 1,      octk16.dll,     SIZE=999
  1822. 1,      octk16.hlp,     SIZE=999
  1823.  
  1824. [Files-Stat]
  1825. 1,      octkstat.exe,   SIZE=999
  1826.  
  1827. [Files-dummy]
  1828.  
  1829.